package com.lagou.service;

import com.github.pagehelper.PageInfo;
import com.lagou.domain.ResponseResult;
import com.lagou.domain.Role;
import com.lagou.domain.User;
import com.lagou.domain.UserVo;

import java.util.List;

public interface UserService {

    /**
     * 多条件查询用户
     * @param userVo
     * @return
     */
    public PageInfo findAllUserByPage(UserVo userVo);

    /**
     * 修改用户状态
     * @param id
     * @param status
     */
    public void updateUserStatus(Integer id,String status);

    /**
     * 用户登陆
     * @param user
     * @return
     */
    public User login(User user) throws Exception;

    /**
     1. 根据用户ID查询关联的角色信息 多个角色
     * @param id
     * @return
     */
    public List<Role>  findUserRelationRoleById(Integer id);

    /**
       用户关联角色
     * @param userVo
     */
    public void userContextRole(UserVo userVo);

    /**
        获取用户权限，进行菜单动态展示
     * @param userId
     * @return
     */
    public ResponseResult getUserPermissions(Integer userId);
}
